
#ifndef ICLASSSTRING_H
#define ICLASSSTRING_H

#include <BClass>

namespace BWE
{
	class ClassString : public BClass
	{
	public:
		ClassString();

		void create(int argc, BValue* argv);
		void create_bool(int argc, BValue* argv);
		void create_int(int argc, BValue* argv);
		void create_long(int argc, BValue* argv);
		void create_real(int argc, BValue* argv);
		void create_float(int argc, BValue* argv);
		void create_double(int argc, BValue* argv);
		void create_string(int argc, BValue* argv);
		void release(int argc, BValue* argv);

		void assign_string(int argc, BValue* argv);
		void assign_bool(int argc, BValue* argv);
		void assign_char(int argc, BValue* argv);
		void assign_int(int argc, BValue* argv);
		void assign_long(int argc, BValue* argv);
		void assign_real(int argc, BValue* argv);
		void assign_float(int argc, BValue* argv);
		void assign_double(int argc, BValue* argv);

		void plus_string(int argc, BValue* argv);
		void plus_bool(int argc, BValue* argv);
		void plus_char(int argc, BValue* argv);
		void plus_int(int argc, BValue* argv);
		void plus_long(int argc, BValue* argv);
		void plus_real(int argc, BValue* argv);
		void plus_float(int argc, BValue* argv);
		void plus_double(int argc, BValue* argv);

		void empty(int argc, BValue* argv);
		void clear(int argc, BValue* argv);
		void reserve(int argc, BValue* argv);

		void size(int argc, BValue* argv);
		void capacity(int argc, BValue* argv);

		void is_number(int argc, BValue* argv);
		void to_bool(int argc, BValue* argv);
		void to_int(int argc, BValue* argv);
		void to_long(int argc, BValue* argv);
		void to_real(int argc, BValue* argv);
		void to_float(int argc, BValue* argv);
		void to_double(int argc, BValue* argv);

		void contain_char(int argc, BValue* argv);
		void contain_code(int argc, BValue* argv);
		void contain_string(int argc, BValue* argv);

		void prepend_string(int argc, BValue* argv);
		void prepend_bool(int argc, BValue* argv);
		void prepend_char(int argc, BValue* argv);
		void prepend_int(int argc, BValue* argv);
		void prepend_long(int argc, BValue* argv);
		void prepend_real(int argc, BValue* argv);
		void prepend_float(int argc, BValue* argv);
		void prepend_double(int argc, BValue* argv);

		void append_string(int argc, BValue* argv);
		void append_bool(int argc, BValue* argv);
		void append_char(int argc, BValue* argv);
		void append_int(int argc, BValue* argv);
		void append_long(int argc, BValue* argv);
		void append_real(int argc, BValue* argv);
		void append_float(int argc, BValue* argv);
		void append_double(int argc, BValue* argv);

		void minus_string(int argc, BValue* argv);
		void minus_code(int argc, BValue* argv);
		void minus_char(int argc, BValue* argv);

		void minus_equal_string(int argc, BValue* argv);
		void minus_equa_code(int argc, BValue* argv);
		void minus_equa_char(int argc, BValue* argv);

		void equal_char(int argc, BValue* argv);
		void equal_string(int argc, BValue* argv);

		void unequal_char(int argc, BValue* argv);
		void unequal_string(int argc, BValue* argv);

		void greater_string(int argc, BValue* argv);
		void greater_equal_string(int argc, BValue* argv);

		void less_string(int argc, BValue* argv);
		void less_equal_string(int argc, BValue* argv);

	};
}

#endif
